<!-- HTML header for doxygen 1.8.6-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<title>OpenCV: Hierarchical Data Format version 5</title>
<link href="../../opencv.ico" rel="shortcut icon" type="image/x-icon" />
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<script type="text/javascript" src="../../tutorial-utils.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
//<![CDATA[
MathJax.Hub.Config(
{
  TeX: {
      Macros: {
          matTT: [ "\\[ \\left|\\begin{array}{ccc} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{array}\\right| \\]", 9],
          fork: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ \\end{array} \\right.", 4],
          forkthree: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ \\end{array} \\right.", 6],
          forkfour: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ #7 & \\mbox{#8}\\\\ \\end{array} \\right.", 8],
          vecthree: ["\\begin{bmatrix} #1\\\\ #2\\\\ #3 \\end{bmatrix}", 3],
          vecthreethree: ["\\begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{bmatrix}", 9],
          cameramatrix: ["#1 = \\begin{bmatrix} f_x & 0 & c_x\\\\ 0 & f_y & c_y\\\\ 0 & 0 & 1 \\end{bmatrix}", 1],
          distcoeffs: ["(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6 [, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]]) \\text{ of 4, 5, 8, 12 or 14 elements}"],
          distcoeffsfisheye: ["(k_1, k_2, k_3, k_4)"],
          hdotsfor: ["\\dots", 1],
          mathbbm: ["\\mathbb{#1}", 1],
          bordermatrix: ["\\matrix{#1}", 1]
      }
  }
}
);
//]]>
</script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
<link href="../../stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<!--#include virtual="/google-search.html"-->
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="../../opencv-logo-small.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">OpenCV
   &#160;<span id="projectnumber">4.5.2</span>
   </div>
   <div id="projectbrief">Open Source Computer Vision</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('../../',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Hierarchical Data Format version 5<div class="ingroups"><a class="el" href="../../db/d77/group__hdf.html">Hierarchical Data Format I/O routines</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d23/classcv_1_1hdf_1_1HDF5.html">cv::hdf::HDF5</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hierarchical Data Format version 5 interface.  <a href="../../d3/d23/classcv_1_1hdf_1_1HDF5.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga243d7e303690af3c5c3686ca5785205e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../d3/d23/classcv_1_1hdf_1_1HDF5.html">HDF5</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dee/group__hdf5.html#ga243d7e303690af3c5c3686ca5785205e">cv::hdf::open</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;HDF5Filename)</td></tr>
<tr class="memdesc:ga243d7e303690af3c5c3686ca5785205e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open or create hdf5 file.  <a href="../../d6/dee/group__hdf5.html#ga243d7e303690af3c5c3686ca5785205e">More...</a><br /></td></tr>
<tr class="separator:ga243d7e303690af3c5c3686ca5785205e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2>Hierarchical Data Format version 5 </h2>
<p>In order to use it, the hdf5 library has to be installed, which means cmake should find it using <code>find_package(HDF5)</code> . </p>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga243d7e303690af3c5c3686ca5785205e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga243d7e303690af3c5c3686ca5785205e">&#9670;&nbsp;</a></span>open()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt;<a class="el" href="../../d3/d23/classcv_1_1hdf_1_1HDF5.html">HDF5</a>&gt; cv::hdf::open </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;&#160;</td>
          <td class="paramname"><em>HDF5Filename</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="../../de/d24/hdf5_8hpp.html">opencv2/hdf/hdf5.hpp</a>&gt;</code></p>

<p>Open or create hdf5 file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">HDF5Filename</td><td>specify the <a class="el" href="../../d3/d23/classcv_1_1hdf_1_1HDF5.html" title="Hierarchical Data Format version 5 interface. ">HDF5</a> filename.</td></tr>
  </table>
  </dd>
</dl>
<p>Returns a pointer to the hdf5 object class</p>
<dl class="section note"><dt>Note</dt><dd>If the specified file does not exist, it will be created using default properties. Otherwise, it is opened in read and write mode with default access properties. Any operations except dscreate() functions on object will be thread safe. Multiple datasets can be created inside a single hdf5 file, and can be accessed from the same hdf5 object from multiple instances as long read or write operations are done over non-overlapping regions of dataset. Single hdf5 file also can be opened by multiple instances, reads and writes can be instantiated at the same time as long as non-overlapping regions are involved. Object is released using close().</dd></dl>
<ul>
<li>Example below opens and then releases the file. <div class="fragment"><div class="line"><span class="comment">// open / auto create hdf5 file</span></div><div class="line"><a class="code" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">cv::Ptr&lt;cv::hdf::HDF5&gt;</a> h5io = <a class="code" href="../../d6/dee/group__hdf5.html#ga243d7e303690af3c5c3686ca5785205e">cv::hdf::open</a>( <span class="stringliteral">&quot;mytest.h5&quot;</span> );</div><div class="line"><span class="comment">// ...</span></div><div class="line"><span class="comment">// release</span></div><div class="line">h5io-&gt;close();</div></div><!-- fragment --></li>
</ul>
<div class="image">
<img src="../../hdfview_demo.gif" alt="hdfview_demo.gif"/>
<div class="caption">
Visualization of 10x10 CV_64FC2 (Hilbert matrix) using HDFView tool</div></div>
<ul>
<li>Text dump (3x3 Hilbert matrix) of hdf5 dataset using <b>h5dump</b> tool: <div class="fragment"><div class="line">$ h5dump test.h5</div><div class="line">HDF5 <span class="stringliteral">&quot;test.h5&quot;</span> {</div><div class="line">GROUP <span class="stringliteral">&quot;/&quot;</span> {</div><div class="line">   DATASET <span class="stringliteral">&quot;hilbert&quot;</span> {</div><div class="line">      DATATYPE  H5T_ARRAY { [2] H5T_IEEE_F64LE }</div><div class="line">      DATASPACE  SIMPLE { ( 3, 3 ) / ( 3, 3 ) }</div><div class="line">      DATA {</div><div class="line">      (0,0): [ 1, -1 ], [ 0.5, -0.5 ], [ 0.333333, -0.333333 ],</div><div class="line">      (1,0): [ 0.5, -0.5 ], [ 0.333333, -0.333333 ], [ 0.25, -0.25 ],</div><div class="line">      (2,0): [ 0.333333, -0.333333 ], [ 0.25, -0.25 ], [ 0.2, -0.2 ]</div><div class="line">      }</div><div class="line">   }</div><div class="line">}</div><div class="line">}</div></div><!-- fragment --> </li>
</ul>

</div>
</div>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.6-->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Apr 2 2021 11:36:41 for OpenCV by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
<script type="text/javascript">
//<![CDATA[
addTutorialsButtons();
//]]>
</script>
</body>
</html>
